package com.lhz.project.system.mapper.base;


import com.lhz.project.system.model.entity.base.HttpRecordLog;
import com.lhz.project.system.model.entity.base.LoginLog;
import com.lhz.project.system.model.entity.auth.OperateLog;
import com.lhz.project.system.model.param.auth.LoginLogParam;
import com.lhz.project.system.model.param.auth.OperateLogParam;
import com.lhz.project.system.model.vo.auth.LoginLogVo;
import com.lhz.project.system.model.vo.auth.OperateLogInfoVo;
import com.lhz.project.system.model.vo.auth.OperateLogVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author LiHuaZhi
 * @since 2020-06-23 17:02:26
 */
@Mapper
public interface LogMapper {

    /**
     * 系统日志
     *
     * @param log
     */
    void insertOperateLog(OperateLog log);

    /**
     * 登录日志
     *
     * @param log
     */
    void insertLoginLog(LoginLog log);

    /**
     * 三分请求日志
     *
     * @param log
     */
    void insertHttpLog(HttpRecordLog log);

    /**
     * 查询登录日志
     *
     * @param id
     * @return
     */
    OperateLogInfoVo selectByPrimaryKey(String id);

    /**
     * 查询操作日志列表
     *
     * @param param
     * @return
     */
    List<OperateLogVo> listOperateLog(OperateLogParam param);

    /**
     * 查询登录日志列表
     *
     * @param param
     * @return
     */
    List<LoginLogVo> listLoginLog(LoginLogParam param);
}